package com.it.xuehang.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import lombok.*;
import org.apache.ibatis.mapping.FetchType;

/**
 * <p>
 * 资源类别。物资，装备，队伍，避难场所，防护目标等
 * </p>
 *
 * @author xuehang
 * @since 2024-12-10
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("RESOURCE_CATEGORY")
public class ResourceCategory implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 资源类别编码
     */
    @TableId
    private String rescateid;

    /**
     * 类别来源编码
     */
    private String resourcefromid;

    /**
     * 类别编号
     */
    private String rescatecode;

    /**
     * 类别名称
     */
    private String rescatename;

    /**
     * 资源短缺阈值
     */
    private Integer reswarncount;

    /**
     * 父级编码
     */
    private String rescateparentid;

    /**
     * 编码集合，格式：/1/2/3/
     */
    private String rescatepidlist;

    /**
     * 排序
     */
    private BigDecimal rescateindex;

    /**
     * 是否删除  （0未删除 1已删除 ）
     */
    private BigDecimal rescateisdelete;

    /**
     * 是否终节点 （0不是  1是 ）
     */
    private BigDecimal rescateisend;

    /**
     * 数量单位，终节点才有
     */
    private String rescateunit;

    /**
     * 统计单位
     */
    private String countunit;

    /**
     * 图标名
     */
    private String rescateicon;

    /**
     * 分类,RESOURCECLASS表外键
     */
    @TableField(value="class")
    private Integer clazz;

    /**
     * 创建时间
     */
    private Date createtime;

    /**
     * 创建部门
     */
    private String createdepid;

    /**
     * 创建人
     */
    private String createuserid;

    /**
     * 更新用户主键
     */
    private String updateuserid;

    /**
     * 更新时间
     */
    private Date updatetime;

    /**
     * 更新部门
     */
    private String updatedep;

    @TableField(exist = false)
    private List<ResourceCategory> children = new ArrayList<>();


}
